package com.zd.server;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server02 {

    public static void main(String[] args) throws IOException {

        // 1 创建服务器 , 需要指定端口号
        ServerSocket serverSocket =
                new ServerSocket(8888);

        while (true)
        {
            // 2 启动服务器 监听客户端的连接  这样代码会线程阻塞 等，如果么有客户端的连接，一直等
            Socket socket = serverSocket.accept();

            System.out.println("服务器启动成功 , 开始监听端口 , 等待客户端的连接");

            PrintStream printStream = new PrintStream(socket.getOutputStream());

            // 服务端读取客户端任意时刻发送过来的数据
            BufferedReader bufferedReader =
                    new BufferedReader(new InputStreamReader(socket.getInputStream()));

            String line = null;

            // 如果读取到客户端的数据 就给打印到控制台 否则一直读  线程阻塞问题
            while( (line = bufferedReader.readLine()) != null){

                System.out.println("服务器端收到的客户端发过来的数据: " + line);


                printStream.println("return : " + line);
                printStream.flush();

            }
        }


    }
}
